1. Field of the Invention
The present invention relates to a shape measuring apparatus.
2. Description of Related Art
Conventionally, a shape measuring apparatus is known, that includes a probe having a gauge head contacting a measured object and configured to move the gauge head within a predetermined area; a motion mechanism moving the probe; and a controller controlling the motion mechanism; and that measures a shape of the measured object by moving the gauge head along a surface of the measured object while pressing the gauge head against the measured object (see Related Art 1, for example). In a 3D measuring apparatus (shape measuring apparatus) described in Related Art 1, a motion controller (control apparatus) has an autonomous following vector generator that generates a speed vector for moving a gauge head along a surface of a measured object while the gauge head is pressed against the measured object.
FIG. 4 illustrates a state where a gauge head 100 is moved along a surface of a measured object 110 having a circular truncated cone shape. As shown in FIG. 4, an autonomous following vector generator provides a coordinate system for measuring the shape of the measured object 110, having a Z axis for a central axis of the measured object 110; and an X axis and a Y axis that orthogonally intersect with the Z axis. In the following description, an example is given where, within a constraint plane S (two-dotted chain line in FIG. 4) having a constant coordinate value Zh in the Z axis direction (i.e., height direction of the measured object 110), the gauge head 100 is moved along the surface of the measured object 110 so as to measure the shape of the measured object 110 at value Zh on the Z axis coordinate. In FIG. 4, a locus LS of points to be measured is shown in a two-dotted chain line. Also in FIG. 4, in order to simplify the figure, the above-described Z axis coordinate value Zh and other portions of symbols used in the following equations are omitted.
The autonomous following vector generator generates a speed vector VP related to a progressive direction of the following probe as shown in equation (1) below, by having a press-in direction of the gauge head 100 against the measured object 110 (in other words, swing direction of the gauge head 100 when the gauge head 100 is pressed against the measured object 110) (hereinafter referred to as swing direction) as a normal direction at a contact point of the surface of the measured object 110 and the gauge head 100.{right arrow over (V)}P=Vs·{right arrow over (P)}u  (1)
In this example, Vs is a parameter for controlling the speed of the progressive direction. For example, when the swing direction or, deviation from the target value in the height direction becomes large, VS is set small. Vector Pu is a unit vector of vector P, and is obtained from the following equations (2) and (3).
                                          P            u                    →                =                              P            ->                                                            P                                      ->                                              (        2        )                                          P          ->                =                              E            ->                    ×                                    Z              u                        →                                              (        3        )            
In equation (3) above, operator x shows an outer product of the vector. Accordingly, vector P is an outer product of vector E based on the swing amount of the gauge head 100; and unit vector Zu in the Z axis direction.
Further, the autonomous following vector generator generates speed vector VE related to the swing direction as shown in the following equation (4).{right arrow over (V)}E=Ve·(|{right arrow over (E)}|−E0)·{right arrow over (E)}u  (4)
In this example, Ve is a parameter for controlling the speed in the swing direction. E0 is a standard swing amount of a following probe, which is a target value in the swing direction. Further, vector Eu is a unit vector of vector E, and is obtained by the following equation (5).
                                          E            u                    →                =                              E            ->                                                            E                                      ->                                              (        5        )            
The autonomous following vector generator also generates a speed vector VH related to a height direction of the following probe as shown in the following equation (6).{right arrow over (V)}H=Vh·(Ch−Zh)·{right arrow over (H)}h  (6)
In this example, Vh is a parameter for controlling the speed in the height direction. Ch is a Z axis coordinate value in a central location of the gauge head 100. Zh is a Z axis coordinate of the constraint plane S which is a target value of the height direction. Further, vector Hh is a vector parallel to the surface of the measured object 110, having size 1 in the Z axis direction. Vector Hh is obtained in the following equations (7) and (8).
                                          H            h                    →                =                                            H              u                        →                                (                                                            H                  u                                ->                            ,                                                          ⁢                                                Z                  u                                ->                                      )                                              (        7        )                                                      H            u                    →                =                                            P              u                        →                    ×                                    E              u                        →                                              (        8        )            
In the above equation (7), the operator (,) is an inner product of the vector. Accordingly, vector Hh is a value dividing vector Hu by the inner product of vector Hu and unit vector Zu in the Z axis direction. Vector Hu is an outer product of vector Pu and vector Eu.
Further, as shown in the following equation (9), the autonomous following vector generator generates speed vector VC by combining each of speed vectors VP, VE, and VH, VC being related to the following direction in order to move the gauge head 100 along the surface of the measured object 110.{right arrow over (V)}C={right arrow over (V)}P+{right arrow over (V)}E+{right arrow over (V)}H  (9)
The motion controller moves the gauge head 100 along the surface of the measured object 110, based on the speed vector VC generated by the autonomous following vector generator.
[Related Art 1] Japanese Laid Open Patent Publication 2005-345123
However, in the 3D measuring apparatus described in Related Art 1, the speed vector VH related to the height direction of the following probe is generated, as illustrated in equation (6), based on the difference between Zh, which is a Z axis coordinate value on the constraint plane S (target value in the height direction); and Ch, which is a Z axis coordinate value in the center of the gauge head 100. Therefore, there is a case where the contact point location of the surface of the measured object 110 and the gauge head 100 does not exist on the constraint plane S.
FIG. 5 illustrates a state where the gauge head 100 is moved along a surface of a measured object 120 having a circular cone shape. Specifically, the motion controller generates speed vector VH related to the height direction of the following probe, based on the difference Zh, which is a Z axis coordinate value on the constraint plane S; and Ch which is a Z axis coordinate value of a center C of the gauge head 100. Accordingly, as shown in FIG. 5, the gauge head 100 is moved along the surface of the measured object 120 by moving the center C of the gauge head 100 on the constraint plane S. In this example, the surface of the measured object 120 having the circular cone shape is inclined with respect to the Z axis. Therefore, the location of the contact point A, the contact being between the surface of the measured object 110 and the gauge head 100, does not exist on the constraint plane S. Therefore, the 3D measuring apparatus measures the shape of the measured object 120 defined by the locus LA of the contact point A (solid line in FIG. 5), but not defined by the locus LS (two-dotted chain line in FIG. 5), which is the point to be measured.
FIG. 6 illustrates a state where the gauge head 100 is moved along a surface of a measured object 130 having a circular cylindrical shape. Also as shown in FIG. 6, even when measuring the cylindrical measured object 130 having a surface not inclining with respect to the Z axis, there is a problem where the constraint plane S is inclined with respect to the Z axis. Specifically, the 3D measuring apparatus measures the shape of the measured object 130 defined by the locus LA of the contact point A (solid line in FIG. 6), but not defined by the locus LS (two-dotted chain line in FIG. 6), which is the point to be measured. In other words, the 3D measuring apparatus according to Related Art 1 cannot always measure the shape of the measured object by contacting the gauge head on the point to be measured.